import {createStore} from 'vuex'

//A 模块
const moduleA = {
    state: {
        username: 'moduleA'
    },
    getters:{
        newName(state){
            return state.username
        }
    },
    // mutations:{
    //     updateName(state){
    //         state.username = 'modulesAAAA'
    //     }
    // }
}
//B 模块
const moduleB = {
    namespaced: true,
    state: {
        username: 'moduleB'
    },
    getters:{
        newName(state){
            return state.username+'!!!!'
        }
    },
    mutations:{
        updateName(state){
            state.username = 'mutationFn moduleB'
        }
    },
    actions:{
        updateName(ctx){
            setTimeout(()=>{
                ctx.commit('updateName');
            },1000)
        }
    }
}

export default createStore({
    modules: {
        moduleA,
        moduleB,
    }
})
// state: {
//     username: 'Yuzi'
// },
// getters: {
//     testGetter(state) {
//         return state.username;
//     }
// },
// mutations: {
//     updateName(state) {
//         state.username = 'testName'
//     }
// }
// ,
// actions: {
//     updateName(stx) {
//         // 异步发请求
//         setTimeout(() => {
//             stx.commit('updateName')
//         }, 1000)
//     }
// },
// modules: {}
